package com.soccertgc.core.cards 
{
	
	public class ExpCard extends Card
	{
		
		// -------------------------------------------------------------------------------
		// FIELDS
		// -------------------------------------------------------------------------------
		
		protected	var _level:uint;
		protected	var _maxLevel:uint;
		protected	var _expToNextLevel:uint;
		
		// -------------------------------------------------------------------------------
		// CONSTRUCTORS
		// -------------------------------------------------------------------------------
		
		/**
		 * ExpCard is abstract, create a new instance using Card.Create() method!  
		 */
		public function ExpCard()
		{
			super();
		}

		// -------------------------------------------------------------------------------
		// PROPERTIES
		// -------------------------------------------------------------------------------
		
		public function get level():uint
		{
			return _level;
		}

		public function set level(value:uint):void
		{
			_level = value;
		}
		
		public function get maxLevel():uint
		{
			return _maxLevel;
		}
		
		public function set maxLevel(value:uint):void
		{
			_maxLevel = value;
		}

		public function get expToNextLevel():uint
		{
			return _expToNextLevel;
		}

		public function set expToNextLevel(value:uint):void
		{
			_expToNextLevel = value;
		}
		
		// -------------------------------------------------------------------------------
		// PUBLIC METHODS
		// -------------------------------------------------------------------------------
		
		override public function copy(card:Card):void
		{
			super.copy(card);
			// Cast the card
			var expcard:ExpCard = card as ExpCard;
			// Copy properties
			_level			= expcard.level;
			_maxLevel		= expcard.maxLevel;
			_expToNextLevel	= expcard.expToNextLevel;
		}

	}
}